package com.itheima.tlias.aop;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;

/**
 * @author
 * @version 1.0.1
 * @date 2023-04-13 10:23:05
 */

//切面类的执行顺序（前置通知：数字越小先执行; 后置通知：数字越小越后执行）
//@Component
//定义切面类
//@Aspect
@Slf4j
//@Order(9)
public class MyAspect3 {

    //切点
    //切点表达式：是EmpMapper中打了MyLog注解的方法被AOP控制
    @Pointcut("@annotation(com.itheima.tlias.annotation.MyLog) && execution(* com.itheima.tlias.mapper.EmpMapper.*(..))")
    public void pt() {}
    //定义通知
    //在方法开始前执行
    @Before("pt()")
    public void beforeMethod() {
        log.warn("MyAspect3 方法开始执行了--->");
    }
}
